home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibt40s2.arc / MOVETOXY.MOD < prev    next >
Text File  |  1986-12-29  |  2KB  |  38 lines

  1. (*----------------------------------------------------------------------*)
  2. (*       MoveToXY --- Move to (X,Y) on screen using BIOS call           *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. PROCEDURE MoveToXY( X: INTEGER; Y: INTEGER );
  6.  
  7. (*----------------------------------------------------------------------*)
  8. (*                                                                      *)
  9. (*     Procedure:  MoveToXY                                             *)
  10. (*                                                                      *)
  11. (*     Purpose:    Moves to specified (X,Y) position on screen          *)
  12. (*                                                                      *)
  13. (*     Calling Sequence:                                                *)
  14. (*                                                                      *)
  15. (*        MoveToXY( X: INTEGER; Y: INTEGER );                           *)
  16. (*                                                                      *)
  17. (*           (X,Y)  --- Where to move to                                *)
  18. (*                                                                      *)
  19. (*----------------------------------------------------------------------*)
  20.  
  21. BEGIN (* MoveToXY *)
  22.  
  23. INLINE(
  24.   $B4/$02                    {   MOV     Ah,2                    ;BIOS position cursor function}
  25.   /$B7/$00                   {   MOV     Bh,0                    ;Page 0}
  26.   /$8A/$B6/>Y                {   MOV     Dh,[BP+>Y]              ;Y coordinate}
  27.   /$FE/$CE                   {   DEC     Dh                      ;Drop by 1}
  28.   /$02/$36/>UPPER_LEFT_ROW   {   ADD     Dh,[>Upper_Left_Row]    ;Add in Turbo window row offset}
  29.   /$FE/$CE                   {   DEC     Dh                      ;Drop by 1}
  30.   /$8A/$96/>X                {   MOV     Dl,[BP+>X]              ;X coordinate}
  31.   /$FE/$CA                   {   DEC     Dl                      ;Drop by 1}
  32.   /$02/$16/>UPPER_LEFT_COLUMN{   ADD     DL,[>Upper_Left_Column] ;Add in Turbo window column offset}
  33.   /$FE/$CA                   {   DEC     Dl                      ;Drop by 1}
  34.   /$CD/$10                   {   INT     $10                     ;BIOS video interrupt}
  35.       );
  36.  
  37. END   (* MoveToXY *);
  38.